package com.english.service;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 微信支付服务接口
 */
public interface WechatPayService {
    
    /**
     * 创建支付订单
     * @param userId 用户ID
     * @param amount 支付金额
     * @param description 商品描述
     * @return 支付参数
     */
    Map<String, Object> createPayment(Long userId, BigDecimal amount, String description);
    
    /**
     * 处理支付回调
     * @param notifyData 回调数据
     * @return 处理结果
     */
    boolean handlePaymentNotify(String notifyData);
    
    /**
     * 查询订单状态
     * @param orderNo 订单号
     * @return 订单信息
     */
    Map<String, Object> queryOrder(String orderNo);
    
    /**
     * 退款
     * @param orderNo 订单号
     * @param refundAmount 退款金额
     * @param reason 退款原因
     * @return 退款结果
     */
    boolean refund(String orderNo, BigDecimal refundAmount, String reason);
} 